package com.songlanyun.modules.notice.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.songlanyun.common.enums.GoodsConstant;
import com.songlanyun.common.enums.HouniaoConstant;
import com.songlanyun.common.utils.HouniaoApiUtil;
import com.songlanyun.common.utils.R;
import com.songlanyun.modules.category.service.SystemProductCategoryService;
import com.songlanyun.modules.goods.entity.Goods;
import com.songlanyun.modules.goods.entity.GoodsAuthShop;
import com.songlanyun.modules.goods.entity.GoodsSku;
import com.songlanyun.modules.goods.service.GoodsAuthShopService;
import com.songlanyun.modules.goods.service.GoodsContentService;
import com.songlanyun.modules.goods.service.GoodsService;
import com.songlanyun.modules.goods.service.GoodsSkuService;
import com.songlanyun.modules.singlegoods.entity.ProductSingleGoodsEntity;
import com.songlanyun.modules.singlegoods.service.ProductSingleGoodsService;
import com.songlanyun.modules.skus.entity.ProductSkusEntity;
import com.songlanyun.modules.skus.service.ProductSkusService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Service
public interface GoodsNoticeService {

    /**
     * 新增通知
     * @param goods_spu
     */
    void add(String goods_spu);

    /**
     * 更新通知
     * @param goods_spu
     */
    void update(String goods_spu);

    /**
     * 上架通知
     * @param goods_spu
     */
    void shelve(String goods_spu);

    /**
     * 下架通知
     * @param goods_spu
     */
    void unshelve(String goods_spu);

    /**
     * 商品价格库存更新通知
     * @param goods_spu
     */
    void price(String goods_spu);

    /**
     * 商品库存更新通知
     * @param goods_spu
     */
    void stock(String goods_spu);
    /**
     * 订单发货通知
     * @param param
     */
    void orderSend(JSONObject param);
    /**
     * 订单发货通知
     * @param param
     */
    void orderStatus(JSONObject param);

    /**
     * 聚水潭发货通知
     * @param param
     */
    JSONObject orderJstSend(JSONObject param);
}
